Mentor Graphics Questasim v2021.2.1

Description

Mentor Graphics Questasim v2021.2.1

Mentor, a Siemens business, is pleased to announce the availability of QuestaSim 2021.1 comprehensive platform for verification complex designs. Questa is built on a core simulation and debug engine providing the industry's most complete native support of Verilog, SystemVerilog, VHDL, SystemC, PSL and UPF.

General Defects Repaired in 2021.1
QSIM-55060 - Running vopt to re-generate an existing optimized design after the work library had been moved in the file system would sometimes produce an error message involving the original file pathnames. The behavior has been fixed, and vopt will now re-generate the optimized design.
QSIM-68141 - (results) Some VCD files contain extended (VHDL) identifiers. The vcd2wlf and vcd2qwave tools did not always read these identifiers correctly. This has been corrected.
SystemVerilog Defects Repaired in 2021.1
QSIM-62161 - (results) In some rare cases, randomize() would incorrectly evaluate a constraint involving a dist/inside/unique construct with an indexed multi-dimensional array (where the index is random) on the RHS. This issue has been fixed.
QSIM-62470 - In some rare cases, a randomize() call with an in-line constraint that references a static class field would cause vopt to crash. This issue has been fixed.
QSIM-62421 - In some rare cases, many repeated calls to randomize() on a class with a 'rand' class field that toggles between NULL and non-NULL would cause vsim to crash. This issue has been fixed.
QSIM-62298 - (results) In some rare cases, randomize() would produce an invalid solution when evaluating a constraint involving a dist/inside/unique where the RHS is a non-random unpacked array. This issue has been fixed.
QSIM-62271 - In some rare cases, randomize() would cause vsim to crash when evaluating a constraint involving a dist/inside/unique where the RHS is a non-random unpacked array. This issue has been fixed.
QSIM-62382 - In some rare cases, randomize() would trigger a spurious error (vsim-7066: Index out of bounds) when evaluating constraints involving indexed arrays. This issue has been fixed.
QSIM-62229 - (results) In some cases, randomize() would incorrectly evaluate iterative (foreach) constraints on multi-dimensional arrays, where one or more array dimensions are dynamic, if the array is specified using non-LRM compliant syntax (e.g. "foreach(a[0](i))"). This issue has been fixed.
QSIM-62312 - In some rare cases, randomize() would cause vsim to crash when evaluating a constraint involving an associative array with a random index. This issue has been fixed.
(nodvtid) - Vsim could sometimes give this error when declaring an out-of-body class function where the return type referenced another parameterized class using "classname::"
Error: foo.sv(12): Questa has encountered an unexpected internal error: ../../src/vlog/vgencode.c(225).
QSIM-62117 - In some rare cases, an internal error would occur when randomize() is evaluating a 'dist' constraint with a non-random LHS. This issue has been fixed.
QSIM-62480 - Significantly improved performance for some randomize() calls involving if/else constraints where the implicate (condition is true) and alternate (condition is false) constraints are equivalent (but not identical).
QSIM-62633 - In some rare cases, randomize() would select an invalid solution for a scenario involving a '!inside' constraint where a non-random unpacked array is specified on the RHS of the 'inside' operator. This issue has been fixed.
QSIM-62967 - In some cases, randomize() would incorrectly evaluate a scenario involving a random unpacked array of unpacked elements if the array is declared with descending indices. This issue has been fixed.
QSIM-63224 - In some rare cases, randomize() would issue an internal error or crash when -solvefaildebug=2 is enabled. This issue has been fixed.
QSIM-63296 - In some rare cases, randomize() would select an invalid solution when evaluating a constraint expression involving an arithmetic shift-right operator. This issue has been fixed.
QSIM-63333 - In some rare cases, randomize() would trigger a SIGFPE or SIVSEGV crash. This issue has been fixed.
QSIM-63742 - In some rare cases, randomize() would cause vsim to crash when evaluating a constraint containing an array.sum() expression involving a non-random dynamic array. This issue has been fixed.
QSIM-63225 - In some rare cases, randomize() would cause vsim to crash when evaluating constraints involving function calls. This issue has been fixed.
QSIM-63080 - In some rare cases, randomize() call would cause vsim to crash when evaluating randsets with the BDD solver engine. This issue has been fixed.
QSIM-63716 - Significantly improved the performance of some complex randomize() calls involving array.sum() constraints. Some randomize() scenarios that would previously timeout are now able to be successfully solved.
QSIM-63802 - In some rare cases, randomize() would cause vsim to crash when evaluating constraints involving a non-random class field of the randomized class. This issue has been fixed.
QSIM-63738 - In some rare cases, randomize() would cause vsim to crash when evaluating complex constraints involving multiplication and cast expressions. This issue has been fixed.
QSIM-63610 - In some rare cases, a randomize() failure due to a constraint contradiction would generate a testcase (when -solvefailtestcase is enabled) that would not reproduce the contradiction. This issue has been fixed.
QSIM-64086 - In some rare cases, randomize() would incorrectly report a no-solution failure (constraint contradiction) when no actual contradiction exists. This issue has been fixed.

Download